<?php
/**
 * Класс отвечает за формирование страниц переписки
 * 
 * @author Mike
 *
 */
class View_Message {
	
	/**
	 * Метод отображает страницу переписки с конкретным собеседником
	 * 
	 * @param User_User $objUser - объект пользователя-собеседника
	 * @param array $arrMessages - массив сообщений текущей переписки
	 */
	public static function showChat($objUser, $arrMessages) {
		echo '<div class="envelope">';
			echo '<div class="left-en">';
				View_Block::showAvatar('user', $objUser->id, $objUser->getField('avatar_filename'), 'm', true);
				echo '<a href="' . W_ABSPATH . 'id' . $objUser->id . '" class="mess-with">' . $objUser->getField('first_name') . ' ' . $objUser->getField('last_name') . '</a>';
			echo '</div>';
			echo '<div class="right-en">';
				$objForm = new View_Form(array('id' => 'new-message'), new Message());
				$objForm->show();
				echo '<div class="edit-item">';
					$objForm->textArea(array('name' => 'text'));	
					$objForm->hiddenField(array('name' => 'ID_user', 'noFromModel' => true,'value' => User_Seance::getId()));
					$objForm->hiddenField(array('name' => 'ID_user_to', 'noFromModel' => true, 'id' => 'to', 'value' => $objUser->id));
					$objForm->submit(array());
				$objForm->close();
				echo '</div>';
			echo '</div>';
		echo '</div>';
		
		echo '<div class="chat-history">';
			foreach($arrMessages as $arrMessage) {
				echo '<div class="mess-item' . (!$arrMessage['is_read_at'] && $arrMessage['ID_user_to'] == User_Seance::getId() ? ' new-mess' : '') . '" mess-num="' . $arrMessage['ID_message'] . '">';
					echo '<div class="mess-from">';
						echo '<div class="name_from">';
							echo '<a href="' . W_ABSPATH . 'id' . $arrMessage['ID_user'] . '">' . $arrMessage['first_name'] . ' ' . $arrMessage['last_name'] . '</a>';
						echo '</div>';
						echo '<div class="mess-date gr-text">' . Service_Date::changeDateFormat($arrMessage['created_at'], 'Y-m-d H-i-s', 'j r Y в G:i') . '</div>';
					echo '</div>';
					echo '<div class="mess-text">';
						echo $arrMessage['text'];
					echo '</div>';
					echo '<div class="mess-actions">';
						echo '<div class="act-item">';
							echo '<a href="#" class="del-mess">Удалить</a>';
						echo '</div>';
					echo '</div>';
					echo '<div class="clear"></div>';
				echo '</div>';
			}
		echo '</div>';
	}
	
	/**
	 * Метод отображает страницу всей последней переписки пользователя
	 *
	 * @param array $arrMessages - массив сообщений последней переписки
	 */
	public static function showMessageHistory($arrMessages) {
		echo '<div class="mess-history">';
			if(empty($arrMessages)) echo '<div class="gr-text">У вас пока нет сообщений.</div>';
			else {
				echo '<table>';
				foreach($arrMessages as $arrMessage) {
					echo '<tr person="' . $arrMessage['ID_user'] . '"' . ($arrMessage['new_messages'] ? ' class="wth-new-mess"' : '') . '>';
						echo '<td class="mess-ava">';
							View_Block::showAvatar('user', $arrMessage['ID_user'], $arrMessage['avatar_filename'], 's', true);
						echo '</td>';
						echo '<td class="mess-from">';
							echo '<div class="name_from">';
								echo '<a href="' . W_ABSPATH . 'id' . $arrMessage['ID_user'] . '">' . $arrMessage['first_name'] . ' ' . $arrMessage['last_name'] . '</a>';
							echo '</div>';
							echo '<div class="mess-date gr-text">' . Service_Date::changeDateFormat($arrMessage['created_at'], 'Y-m-d H-i-s', 'j r Y в G:i') . '</div>';
						echo '</td>';
						echo '<td>';
							echo '<div class="mess-text">';
								echo $arrMessage['text'];
							echo '</div>';
						echo '</td>';
					echo '</tr>';
				}
				echo '</table>';
			}
		echo '</div>';
	}
}
?>